# coding=utf8

# Copyright 2018 JDCLOUD.COM
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# NOTE: This class is auto generated by the jdcloud code generator program.


class Cluster(object):

    def __init__(self, clusterId=None, name=None, description=None, version=None, azs=None, nodeGroups=None, clusterCidr=None, masterAuth=None, clusterState=None, stateMessage=None, updateTime=None, createTime=None, accessKey=None, basicAuth=None, clientCertificate=None, endpoint=None, endpointPort=None, dashboardPort=None, userMetrics=None, addonsConfig=None, autoUpgrade=None, maintenanceWindow=None, upgradePlan=None, masterProgress=None):
        """
        :param clusterId: (Optional) 集群id
        :param name: (Optional) 名称
        :param description: (Optional) 描述
        :param version: (Optional) kubernetes的版本
        :param azs: (Optional) 集群所在的az
        :param nodeGroups: (Optional) 节点组列表
        :param clusterCidr: (Optional) k8s的cluster的cidr
        :param masterAuth: (Optional) 认证信息
        :param clusterState: (Optional) 状态  [pending,running,reconciling（升级时的状态）, deleting, deleted, error]
        :param stateMessage: (Optional) 状态变更原因
        :param updateTime: (Optional) 更新时间
        :param createTime: (Optional) 创建时间
        :param accessKey: (Optional) 用户的AccessKey，插件调用open-api时的认证凭证
        :param basicAuth: (Optional) 基本验证方式
        :param clientCertificate: (Optional) 证书验证方式
        :param endpoint: (Optional) 用户访问的ip
        :param endpointPort: (Optional) endpoint的port
        :param dashboardPort: (Optional) endpoint的dashboard port
        :param userMetrics: (Optional) deprecated 优先以addonsConfig中的配置为准 <br>用户是否启用集群自定义监控，true 表示开启用，false 表示未开启用
        :param addonsConfig: (Optional) 集群组件配置信息
        :param autoUpgrade: (Optional) 是否开启集群自动升级，true 表示开启，false 表示未开启
        :param maintenanceWindow: (Optional) 配置集群维护策略
        :param upgradePlan: (Optional) 集群升级计划信息, 仅展示最新一条升级计划信息
        :param masterProgress: (Optional) 控制节点操作进度
        """

        self.clusterId = clusterId
        self.name = name
        self.description = description
        self.version = version
        self.azs = azs
        self.nodeGroups = nodeGroups
        self.clusterCidr = clusterCidr
        self.masterAuth = masterAuth
        self.clusterState = clusterState
        self.stateMessage = stateMessage
        self.updateTime = updateTime
        self.createTime = createTime
        self.accessKey = accessKey
        self.basicAuth = basicAuth
        self.clientCertificate = clientCertificate
        self.endpoint = endpoint
        self.endpointPort = endpointPort
        self.dashboardPort = dashboardPort
        self.userMetrics = userMetrics
        self.addonsConfig = addonsConfig
        self.autoUpgrade = autoUpgrade
        self.maintenanceWindow = maintenanceWindow
        self.upgradePlan = upgradePlan
        self.masterProgress = masterProgress
